// 需求：要求实现一个获取英雄列表的接口，并且定义错误信息返回给前端
const express = require("express");
const fs = require("fs");
const app  = express();
app.get("/list",(req,res,next)=>{
    // 获取data.json中数据，并返回给前端
    try {
        let result =  fs.readFileSync("./data/data.json","utf-8");
        res.send({
            data: result,
            code: 200
        })
    } catch (error) {
        console.log(19,error);
        // res.send({ // 错误返回信息统一在错误中间件中来处理即可，因此这里就不用单独处理了
        //     msg: error.path,
        //     code: 500
        // })
        next(error)
    }
})

app.get("/test",(req,res,next)=>{
    // 获取data.json中数据，并返回给前端
    try {
        let result =  fs.readFileSync("./data/data.json","utf-8");
        res.send({
            data: result,
            code: 200
        })
    } catch (error) {
        console.log(19,error);
        // res.send({ // 错误返回信息统一在错误中间件中来处理即可，因此这里就不用单独处理了
        //     msg: error.path,
        //     code: 500
        // })
        next(error)
    }
})
// 项目中有很多接口，都需要处理错误信息
// 这个错误中间件所有请求都会经过他，因为可以统一封装错误信息
// 错误中间件的作用(所有的接口都会经过错误中间件)：用来统一设置返回给前端的错误信息
app.use((err,req,res,next)=>{
        res.send({
            msg: err.path,
            code: 500
        })
})

app.listen("8080")
